/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.model;

import com.model.enuns.TipoTelefone;
import com.model.enuns.TipoUsuario;
import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author edilson
 */
@Entity
@Table(name = "telefone")
@XmlRootElement
//@NamedQueries({
//    @NamedQuery(name = "Telefone.findAll", query = "SELECT t FROM Telefone t"),
//    @NamedQuery(name = "Telefone.findById", query = "SELECT t FROM Telefone t WHERE t.id = :id"),
//    @NamedQuery(name = "Telefone.findByTelefone", query = "SELECT t FROM Telefone t WHERE t.telefone = :telefone")})
public class Telefone implements Serializable {
    private static final long serialVersionUID = 1L;
   @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id = 0;
    
    @Column(name = "telefone")
    private String telefone;
    
    @Enumerated(EnumType.STRING)
    private TipoTelefone tipoTelefone;

    public TipoTelefone getTipoTelefone() {
        return tipoTelefone;
    }

    public void setTipoTelefone(TipoTelefone tipoTelefone) {
        this.tipoTelefone = tipoTelefone;
    }
    
    @OneToMany(mappedBy = "telefone")
    private List<TelefoneDaEmpresa> telefoneDaEmpresas;

    @OneToMany(mappedBy = "telefone")
    private List<TelefoneDoAssociado> telefoneDoAssociados;

    
    public Telefone() {
    }

    public Telefone(Integer id) {
        this.id = id;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

//    public List<TelefoneDaEmpresa> getTelefoneDaEmpresas() {
//        return telefoneDaEmpresas;
//    }
//
//    public void setTelefoneDaEmpresas(List<TelefoneDaEmpresa> telefoneDaEmpresas) {
//        this.telefoneDaEmpresas = telefoneDaEmpresas;
//    }
//
//    public List<TelefoneDoAssociado> getTelefoneDoAssociados() {
//        return telefoneDoAssociados;
//    }
//
//    public void setTelefoneDoAssociados(List<TelefoneDoAssociado> telefoneDoAssociados) {
//        this.telefoneDoAssociados = telefoneDoAssociados;
//    }
//    
    

    @Override
    public String toString() {
        return "br.org.cm.assutef.entities.Telefone[ id=" + id + " ]";
    }

	public List<TelefoneDaEmpresa> getTelefoneDaEmpresas() {
		return telefoneDaEmpresas;
	}

	public void setTelefoneDaEmpresas(List<TelefoneDaEmpresa> telefoneDaEmpresas) {
		this.telefoneDaEmpresas = telefoneDaEmpresas;
	}

	public List<TelefoneDoAssociado> getTelefoneDoAssociados() {
		return telefoneDoAssociados;
	}

	public void setTelefoneDoAssociados(List<TelefoneDoAssociado> telefoneDoAssociados) {
		this.telefoneDoAssociados = telefoneDoAssociados;
	}
    
}
